package Model;

import java.io.Serializable;

/*
 * @author Paolo Cordova
 */

public class SpaceState implements Serializable 
{
	final static long serialVersionUID = 238;
	
	protected void changeState(PropertySpace space, SpaceState newState) 
	{
		space.changeState(newState);
	}
	
	protected void landOn(Player player, PropertySpace property) {}
	
	protected boolean isUpgradeable(UpgradeablePropertySpace p) 
	{
		return false;
	}
	
	protected boolean isDowngradeable(UpgradeablePropertySpace p)
	{
		return false;
	}
	
	protected boolean isRenovated(UpgradeablePropertySpace p) 
	{
		return true;
	}
	
	protected void renovate(UpgradeablePropertySpace p) 
	{
		System.err.println("SpaceState renovate called - Not supposed to happen");
	}
	
	protected void downgrade(UpgradeablePropertySpace p) 
	{
		System.err.println("SpaceState downgrade called - Not supposed to happen");
	}

	protected void ownershipIncrease(PropertySpace p) 
	{
		System.err.println("SpaceState ownershipIncrease called - Not supposed to happen");
	}
	
	protected void ownershipDecrease(PropertySpace p)
	{
		System.err.println("SpaceState ownershipDecrease called - Not supposed to happen");
	}
	
	public int getLevel()
	{
		return 0;
	}

	protected int getMultiplier() 
	{
		return 0;
	}
	
	protected String getNameAndStatus() 
	{
		return "";
	}
}
